home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 10 / FM Towns Free Software Collection 10.iso / ms_dos / tool / fapxtool / src / txm / txmfile.c < prev    next >
C/C++ Source or Header  |  1995-01-06  |  949b  |  58 lines

  1. /***************
  2. *
  3. * txm\txmfile.c
  4. */
  5. #include "txm.h"
  6.  
  7. char *makenewextname(char *org, char *new, char *ext)
  8. {
  9.     char *tmp;
  10.  
  11. /*    printf("makenewextname()\n");    */
  12.     strcpy(new, org);
  13.     if ((tmp = jstrrchr(new, '\\')) == NULL) {
  14.         tmp = new;
  15.     }
  16.     if ((tmp = strchr(tmp, '.')) == NULL) {
  17.         tmp = strchr(new, NUL);
  18.     }
  19.     strcpy(tmp, ext);
  20.     return (new);
  21. }
  22.  
  23. int accessdir(char *path)
  24. {
  25.     char *tmp = work;
  26.  
  27. /*    printf("accessdir()\n");    */
  28.     if (access(path, 0) == 0) {
  29.         return TRUE;
  30.     }
  31.  
  32.     strcpy(work, path);
  33.     for (;;) {
  34.         if (*tmp == NUL) {
  35.             *tmp = '\\';
  36.         }
  37.         tmp = jstrchr(tmp+1, '\\');
  38.         if (work < tmp) {
  39.             if (*(tmp - 1) == ':') {
  40.                 continue;
  41.             }
  42.         }
  43.         if (tmp != NULL) {
  44.             *tmp = NUL;
  45.         }
  46. /*        printf("try(%s)\n", work);    */
  47.  
  48.         if (access(work, 0)) { /* != 0 : 存在しない */
  49.             if (mkdir(work)) { /* != 0 : 作れない   */
  50.                 return FALSE;
  51.             }
  52.         }
  53.         if (tmp == NULL) break;
  54.     }
  55.     return TRUE;
  56. }
  57.  
  58.